Computer software may be licensed according to several different schemes. In one conventional licensing model, computer software is licensed on a flat per-site rate. That is, a purchaser of the computer software is charged a flat fee to cover all uses of the software. Regardless of how many users are executing the software, the per-site rate does not change. This scheme for licensing software requires the least overhead: once the per-site rate is paid, no further administration is required by the purchaser to ensure the use of the software does not exceed the license limits.
In another conventional licensing model, computer software is licensed on a per-user rate. That is, for each user of the computer software, a separate license is required to execute the software. Per-user licensing may allow a purchaser to obtain licensing to the software at a much lower cost than per-site licensing. For example, a purchaser's site may have five thousand employees, of which only one hundred employees need access to the computer software. Thus, purchasing a per-site license for five thousand employees will be significantly more expensive than purchasing one hundred per-user licenses. However, per-user licensing involves more overhead than per-site licensing.
Under a per-user licensing scheme, an administrator manually configures computers with an appropriate license to execute the computer software. The license may take the form of a special key entered into the computer within the computer software, a special file loaded onto the computer read by the computer software, and/or a hardware key plugged into a port on the computer read by the computer software. In addition to installing the licenses on computer systems, an administrator must be adamant about recovering the license when the user of the computer system no longer uses the computer software. For example, as employees change projects, employees are terminated, or new employees are hired, licenses may be transferred between computers to allow different users to operate the computer software.
As a result of the increased overhead, purchasers of computer software often spend a significant portion of the money saved from buying a per-site license on administrative time to manage the per-user licenses. Further, even with the best administration, some licenses may be underutilized. For example, a license may be requested by a user not actually using the computer software. Thus, the license is purchased but rarely or never used by the user assigned the license. Further, licenses may be lost or forgotten, such as when installed on a computer that administrators lose track of.
Per-user licenses have additional problems when used to license computer software installed in virtual machines. Because a virtual machine may be cloned and altered, managing per-user licenses may be difficult. Additionally, users accessing the computer software may rapidly connect and disconnect and connect from different locations on a network.
Conventional licensing schemes for computer software described above involve static licensing. That is, whether a per-user or per-site license is purchased, the license is assigned to a particular location or a particular user, and the license remains there until manually reassigned to another site or another user. That static nature of the licensing schemes results in administrative overhead that reduces the utilization of the licenses and increase costs due to increased administrator time to continue use of each of the licenses.